特点：1、实例可继承的属性有：实例的构造函数的属性，父类构造函数属性，父类原型的属性。（新实例不会继承父类实例的属性！）
缺点：1、新实例无法向父类构造函数传参。
　　　　　　　2、继承单一。
　　　　　　　3、所有新实例都会共享父类实例的属性。（原型上的属性是共享的，一个实例修改了原型属性，另一个实例的原型属性也会被修改！）
<script language="javascript">






    /**
     * 父类：动物
     * @constructor
     */
    function Animal() {
        this.name = "";
        this.say = function () {
            console.log("I am animal!");
        }
    }

    /**
     * 子类：猫
     * @constructor
     */
    function Cat() {

    }
    Cat.prototype = new Animal();//这步便是继承，将自己的原型设定为父类。这样就拥有父类的所有公有属性。


    let cat = new Cat();
    cat.name = "dd";

    console.log(cat.name);

    cat.say();



</script>
其它继承方式：https://www.cnblogs.com/ranyonsue/p/11201730.html